// Loggr::Tools::Filer
// Tools make Loggr be more autonomous.
// By George Ulyanov (c) 2010

#ifndef LOGGR_TOOLS_FILER_H_
#define LOGGR_TOOLS_FILER_H_

namespace Loggr
{
    namespace Tools
    {
        struct FilerData;   /** Pre-declaration. */

        /**
        *   @brief Own filer.
        */
        class Filer
        {
        private:
            FilerData* m_data;

        public:
            /**
            *   @brief Default constructor.
            */
            Filer();

            /**
            *   @brief Destructor.
            */
            ~Filer() throw();

            /**
            *   @brief Write a data to the file.
            *   @param buffer - a data to write.
            *   @param bufferSize - a data size.
            */
            void Write(const char* buffer, const size_t bufferSize);
        };
    }
    // namespace Tools
}
// namespace Loggr

#endif // LOGGR_TOOLS_FILER_H_
